//
//  HYYStatusCell.swift
//  Hyy9Weibo
//
//  Created by Air on 16/4/3.
//  Copyright © 2016年 hyy. All rights reserved.
//

import UIKit

/// 自定义微博cell
class HYYStatusCell: UITableViewCell {
    
    //MARK: - 属性
        /// 微博模型
    var status: HYYStatus?{
        didSet{
            //当控制器把模型传给cell的时候调用
            //将模型传递给HYYStatusOriginalView
            orginalView.status = status
        }
    }
   
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    //实现构造函数
    override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)
        
        backgroundColor = UIColor(white: 237/255.0, alpha: 1)
        prepareUI()
    }
    
    private func prepareUI(){
        //1.添加子控件
        contentView.addSubview(orginalView)
        contentView.addSubview(bottomView)
       
        //2.添加约束
        //原创View
        orginalView.snp_makeConstraints { (make) in
            //当参照都一样的时候，可以简写
            make.leading.trailing.equalTo(contentView)
            make.top.equalTo(contentView).offset(10)
            //原创cell的底部根据original里面的内容
            
//            make.height.equalTo(80+Int(arc4random_uniform(100)))
//            make.leading.equalTo(contentView)
//            make.top.equalTo(contentView)
//            make.trailing.equalTo(contentView)
        }
        
        //底部View
        bottomView.snp_makeConstraints { (make) in
            make.top.equalTo(orginalView.snp_bottom)
            make.leading.trailing.equalTo(contentView)
            make.height.equalTo(44)
        }
        
        //当使用autolayout来约束cell里面控件，并且cell的高度想通过autolayout来自动确定，需要给contenview添加约束
        contentView.snp_makeConstraints { (make) in
            //contenview左上右参照cell
            make.leading.top.trailing.equalTo(self)
            //contenview底部参照originalview
            make.bottom.equalTo(bottomView)
        }
    }
    
    //MARk: - 懒加载
    /**
     *  原创微博View
     */
    private lazy var orginalView: HYYStatusOriginalView = HYYStatusOriginalView()
    /**
     *  底部视图
     */
    private lazy var bottomView: HYYStatusBottomView = HYYStatusBottomView()
}
